package ru.spb.nicetu.altx.mnemo.db.valuetype;

import ru.spb.nicetu.altx.mnemo.extpoint.valuetypes.ITemplateValueType;

/**
 * Интерфейс "Конвертор Значение<==>Объект". <br>
 */
public interface IParamConverter
{
  /**
   * Преобразование "Объект ==> Значение".
   * @param obj - какое-то иное предстваление Значения
   * @return Значение, или null (если не удалось)
   */
  public ITemplateValueType parseObject(Object obj);
    
  /**
   * Преобразование "Значение ==> Объект".
   * @param val - Значение
   * @return какое-то иное предстваление Значения, или null (если Значение 
   * не поддерживается Конвертером)
   */
  public Object toObject(ITemplateValueType val);
}

//public interface IParamConverter<E extends ITemplateValueType<?>>
//{
//    public E parseObject(Object obj);
//    
//    public Object toObject(E val);
//}

